﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using System.Globalization;
using System.Threading;

namespace Sistema_de_Patrimonio.SDP_UI.Usuarios
{
    public partial class Usuarios_Login : Telerik.WinControls.UI.RadForm
    {
        public Usuarios_Login()
        {
            InitializeComponent();
        }

        class CulturaPropia : CultureInfo
        {
            public CulturaPropia()
                : base("es-Ar")
            {
                setFormatoNumerico();
            }

            /// <summary>
            /// Establece formatos numéricos
            /// </summary>
            private void setFormatoNumerico()
            {
                NumberFormatInfo n = this.NumberFormat;
                n.NumberNegativePattern = 0;
                n.NumberGroupSeparator = ",";
                n.NumberDecimalSeparator = ".";
            }
        }

        public bool Correcto = false;
        public static String Usuario_Nombre = "";
        public static UInt32 Usuario_Legajo;
        public static UInt32 Usuario_Tipo;

        private void TxtUsuario_Validated(object sender, EventArgs e)
        {
            if (TxtUsuario.Text.Length > 0)
            {
                SDP_DAL.Usuario_DAL Usuario = new SDP_DAL.Usuario_DAL();
                if (Usuario.ComprobarUsuario(TxtUsuario.Text))
                {
                    UsuarioAceptar.Visible = true;
                    UsuarioErroneo.Visible = false;
                    BtnIngresar.Enabled = true;
                }
                else
                {
                    UsuarioErroneo.Visible = true;
                    UsuarioAceptar.Visible = false;
                    BtnIngresar.Enabled = false;
                }
            }
        }

        private void TxtContraseña_Validated(object sender, EventArgs e)
        {
            if (TxtUsuario.Text.Length > 0 && TxtContraseña.Text.Length > 0)
            {
                SDP_DAL.Usuario_DAL Usuario = new SDP_DAL.Usuario_DAL();

                if (Usuario.ComprobarContraseña(Convert.ToUInt32(TxtUsuario.Text), TxtContraseña.Text))
                {
                    ContraseñaAceptar.Visible = true;
                    ContraseñaErroneo.Visible = false;
                    Usuario_Legajo = Convert.ToUInt32(TxtUsuario.Text);
                    Usuario_Nombre = Usuario.ObtenerNombre(TxtUsuario.Text, TxtContraseña.Text);
                    Usuario_Tipo = Usuario.ObtenerTipo(TxtUsuario.Text, TxtContraseña.Text);
                    this.Correcto = true;
                    
                }
                else
                {
                    ContraseñaErroneo.Visible = true;
                    ContraseñaAceptar.Visible = false;
                    
                }
            }

        }

        private void txtMovEnter_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)(Keys.Enter))
            {
                e.Handled = true; SendKeys.Send("{TAB}");
            }
            base.OnKeyPress(e);
        }

        private void BtnSalir_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void BtnIngresar_Click(object sender, EventArgs e)
        {
            if (this.Correcto)
            {
                this.Hide();
                SDP_UI.Menu.Menu_Inicio Inicio = new Menu.Menu_Inicio();
                Inicio.LblNombre.Text = Usuario_Nombre;
                Inicio.Show();
                
            }
            else MessageBox.Show("La Contraseña Introducida es Incorrecta", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

        private void Usuarios_Login_Load(object sender, EventArgs e)
        {
            CulturaPropia Enarg = new CulturaPropia();
            Thread.CurrentThread.CurrentCulture = Enarg;
        }

        private void label8_Click(object sender, EventArgs e)
        {

        }

    }
}
